Enhance Alternator API#158
Conversation
ConnectionConf now only has fields that are shared between different databases. Database specific fields are moved to DbConnectionConf inside the scripting folder. (cherry picked from commit 5e4661e)
|
@vponomaryov thanks for already reviewing. |
|
I made a PR with the fixes in our repo: scylladb-zpp-2025-alternator-rs-driver#45 |
|
@m-szymon |
@vponomaryov you were too quick with review - I created draft, but I was not sure if we want to add something, especially that we were syncing with some other changes from master. I will rebase and include fixes in this PR. |
The config allows for specifying the credentials as command line arguments. By specifying the aws-credentials option the SDK will fetch credentials from the environment. (cherry picked from commit 1d37fa9)
Used serde(skip_serializing) to avoid serializing secret fields. (cherry picked from commit 62669ca)
Sets are represented as special objects with a single specific key. The items of the sets are stored in a vector. (cherry picked from commit d775dfc)
…les. (cherry picked from commit a1dd717)
PaginationToken will allow for retrying both normal Query requests and batch requests. (cherry picked from commit 0313ea2)
Implemented the functions with automatic retry and added a workflow that demonstrates the usage. (cherry picked from commit 7cac86f)
Added new `get_unprocessed` to batch write and get. Modified `handle_request` and added `format_batch_result` to properly return the unprocessed items. (cherry picked from commit a0f9ecb)
|
@m-szymon Or, if it requires some more time, I can merge this one |
|
@vponomaryov I pushed rebased version with fixes that were discussed. |
|
Ah, I only now noticed that @stopnoanime already created some fix scylladb-zpp-2025-alternator-rs-driver#47, so maybe you could wait a moment with merging. |
(cherry picked from commit 7584425)
|
@vponomaryov it is ready - there is one additional commit. |
Refactor ConnectionConf and add custom credentials support for Alternator
DbConnectionConf field. This way the database specific code is contained
inside the scripting folder.
and used them in connect.
passwords/secrets. This stops the secrets from being saved to generated
raports.
The Alternator credential options work as follows:
aws-credentialsis specified, the default AWS SDK credentialsflow will be used, i.e. the SDK will try to fetch the credentials from
the environment
access-key-idandsecret-access-keyoptions can be used tospecify the keys, otherwise the default empty values ("") are used
Add support for DynamoDB Sets to Alternator.
Implemented support for passing and receiving of DynamoDB Sets to Rune.
They are implemented as objects with exactly one key with a special
name. The values are stored as a vector of appropriate types.
Convenience functions used to create the sets are provided to Rune.
Implement batch_get_item and batch_write_item.
Implemented the functions and added workflows that demonstrates the
usage.
Batch operations support the
get_unprocessedoption that disables theauto pagination feature and allows the user to do it manually from rune.
Implementing the auto pagination feature required editing some existing
traits.
Follow-up #138